Multi core vehicle management system and method

ABSTRACT

A flight management system (FMS) including a plurality of FMS components that can include a civil FMS component and a tactical FMS component. Each FMS component can have a processor programmed to execute an FMS software product. The FMS can also include a multi core FMS manager configured to control a plurality of flight management systems and coupled to the plurality of FMS components. The multi core FMS manager can include a plurality of FMS managers, each coupled to one of the FMS components, and a platform interface manager coupled to an avionics system. Each FMS manager can be adapted to transmit flight management data to, and to receive flight management data from, the FMS component to which it is coupled. The platform interface manager can be adapted to provide each FMS component access to the avionics system, such that an aircraft operator can control each FMS component via the FMS.

Embodiments relate generally to vehicle management systems and methodsand, more particularly, to dual core flight management systems andmethods for running independent civil and tactical flight managementsystem cores interacting with the avionics subsystem via a unifiedflight management system interface.

Military aircraft operating within civilian or commercial airspace maybe subject to restrictions and unfavorable treatment based on a lack ofcivil or commercial avionics equipment or capabilities. For militaryaircraft operating within civilian or commercial airspace, a need mayexist to be Communications, Navigation and Surveillance Systems for AirTraffic Management (CNS/ATM) compliant to avoid restrictions andunfavorable treatment. For military aircraft to meet CNS/ATM compliancerequirements, a need may exist to integrate one or more civil flightmanagement systems and one or more tactical flight management systemsinto a multi core flight management system that is CNS/ATM compliant andenables pilots to control both the civil and tactical flight managementsystems through an integrated user interface. In addition, flightmanagement systems may be subjected to rigorous certification processes,such as DO-178B, that may require recertification if the certifiedsoftware component is updated. A need may exist to enable each core of amulti core flight management system to be updated independently suchthat an update to one core component does not require fullrecertification of other core components.

One embodiment includes a computer system having a civil flightmanagement system and a tactical flight management system within adual-core flight management system. The computer system can include acivil flight management system component running a civilian flightmanagement software product, a tactical flight management systemcomponent running a tactical flight management software product, and adual core flight management system manager coupled to both the civilflight management system component and the tactical flight managementsystem component. The dual-core flight management system manager caninclude a civil flight management system manager coupled to the civilflight management system, a tactical flight management system managercoupled to the tactical flight management system, and a platforminterface manager coupled to an avionics system. The civil flightmanagement system manager can be adapted to transmit civil flightmanagement data to, and receive civil flight management data from, thecivil flight management system component. The tactical flight managementsystem manager can be adapted to transmit tactical flight managementdata to, and receive tactical flight management data from, the tacticalflight management system component. The platform interface manager canbe adapted to provide the civil flight management system component andthe tactical flight management system component with access to theavionics system. The civil flight management system component, tacticalflight management system component and the dual-core flight managementsystem manager can run on one single board computer, and the civilflight management system component can be temporally and spatiallyisolated from the tactical flight management system component.

Another embodiment can include a flight management system. The flightmanagement system can include a plurality of flight management systemcomponents, including a civil flight management system component and atactical flight management system component, each having a processorprogrammed to execute a flight management software product. The flightmanagement system can also include a multi core flight management systemmanager configured to control a plurality of flight management systems.The multi core flight management system manager can be coupled to theplurality of flight management system components. The multi core flightmanagement system manager can include a plurality of flight managementsystem managers, each coupled to one of the plurality of flightmanagement system components. The multi core flight management systemmanager can also include a platform interface manager coupled to anavionics system. Each flight management system manager can be adapted totransmit flight management data to, and to receive flight managementdata from, the flight management system component to which the flightmanagement system manager is coupled. The platform interface manager canbe adapted to provide each flight management system component access tothe flight system, such that an aircraft operator can control eachflight management system component via the flight management system.

Another embodiment can include a computerized method for controlling aplurality of flight management systems encapsulated within a multi coreflight management system. The method can include providing a pluralityof flight management system components, each running a flight managementsoftware product, and each being encapsulated within a multi core flightmanagement system that can include a multi core flight management systemmanager and can be adapted to manage an aircraft. The method can includereceiving, at the multi core flight management system manager, a flightmanagement system data message and transmitting the flight managementsystem data message to one of the flight management system componentsindicated in the flight management system data message. The method canalso include receiving, at the multi core flight management systemmanager, a flight management system data message from one of theplurality of flight management system components and transmitting theflight system data message to a corresponding avionics system component.The plurality of flight management system components and the multi coreflight management system manager can be run on a single computer. Theplurality of flight management system components can be temporally andspatially isolated from each other.

Another embodiment can include a computerized method for encapsulating aplurality of flight management systems within a multi core flightmanagement system. The method can include partitioning a computer systeminto a plurality of temporally and spatially isolated partitions. Themethod can include running each of a plurality of flight managementsystem component software products in a different one of the pluralityof temporally and spatially isolated partitions. The plurality of flightmanagement system component software products can include a civil flightmanagement system component and a tactical flight management systemcomponent. The method can include running a multi core flight managementsystem manager software component in one of the plurality of temporallyand spatially isolated partitions. The multi core flight managementsystem manager software component can receive one or more data messagesfrom an avionics system component and transmit the one or more datamessages to one or more of the plurality of flight management systemcomponent software products. The multi core flight management systemmanager software component can receive one or more data messages fromone of the plurality of flight management system component softwareproducts and transmit the one or more data messages to one or morecorresponding avionics system components.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an exemplary embodiment of a dual coreflight management system.

FIG. 2 is a block diagram of an exemplary embodiment of a partitioneddual core flight management system.

FIG. 3 is a block diagram of an exemplary embodiment of a multi coreflight management system.

FIG. 4 is a block diagram of an exemplary embodiment of a flightmanagement system dual core manager.

FIG. 5 is a block diagram of an exemplary embodiment of a flightmanagement system dual core manager.

FIG. 6 is a block diagram of an exemplary embodiment of a dual coreflight management system including a flight management system dual coremanager.

FIG. 7 is a block diagram showing an exemplary embodiment of a flightmanagement system dual core manager A/C (Aircraft) systems manager.

FIG. 8 is a block diagram showing an exemplary embodiment of a flightmanagement system dual core manager integrity and data manager.

FIG. 9 is a block diagram showing an exemplary embodiment of a flightmanagement system dual core manager Communication, Navigation,Surveillance (CNS) manager.

FIG. 10 is a block diagram showing an exemplary embodiment of a flightmanagement system dual core manager Controls and Display (C&D) manager.

FIG. 11 is a block diagram of an exemplary embodiment of a multi coreflight management system.

FIG. 12 is a flowchart showing an exemplary method for transmitting databetween a dual core flight management system and an avionics system.

FIG. 13 is a flowchart showing an exemplary method for sanitizing flightmanagement data.

FIG. 14 is a flowchart showing an exemplary method for transmitting databetween a multi core vehicle management system and a vehicle system.

FIG. 15 is a flowchart showing an exemplary method for performingcountermeasure transmission of decoy vehicle data.

FIG. 16 is a flowchart showing an exemplary method for performingcountermeasure transmission of decoy vehicle data.

FIG. 17 is a flowchart showing an exemplary method for performingcountermeasure transmission of decoy vehicle data.

FIG. 18 is a flowchart showing an exemplary method for interceptingcivil flight management data and transforming the data to include decoyidentification data prior to transmission via a civil transponder.

DETAILED DESCRIPTION

FIG. 1 is a block diagram of an exemplary embodiment of a dual coreflight management system. System 100 can include a dual core flightmanagement system 102 that can include a civil flight management system104 and a tactical flight management system 106. The dual core flightmanagement system 102 can transmit data to and/or receive data from anavionics system, or avionics subsystem, 108.

In operation, the dual core flight management system 102 can transmitdata to and/or receive data from the avionics system 108 according tothe processes shown in FIGS. 12, 13, 14, 15, 16, 17, and 18. The dualcore flight management system 102 can provide an interface for the civilflight management system 104 and the tactical flight management system106 to communicate with the avionics system 108 as shown in FIGS. 2 and6. The dual core flight management system 102 can be a software and/orhardware wrapper for the civil flight management system 104 and thetactical flight management system 106, and can provide one flightmanagement system interface through which the civil flight managementsystem 104 and the tactical flight management system 106 can communicatewith the avionics system 108 as shown in FIGS. 2, 4, 5, 6, 7, 8, 9, and10. The dual core flight management system 102 can also provide a singleinterface through which the avionics system 108 can communicate withboth the civil flight management system 104 and the tactical flightmanagement system 106 as shown in FIGS. 2, 4, 5, 6, 7, 8, 9, and 10.

FIG. 2 is a block diagram of an exemplary embodiment of a partitioneddual core flight management system 200. System 200 can include a dualcore flight management system 202 that can include a civil partition204, a manager partition 206, and a tactical partition 208. The civilpartition 204 can include a civil flight management system component210. The manager partition 206 can include a flight management systemdual core manager 212. The tactical partition 208 can include a tacticalflight management system component 214. The dual core flight managementsystem 202 can transmit data to and/or receive data from an avionicssystem 216.

In operation, the dual core flight management system 202 can be acomputer system and can be partitioned into temporally and spatiallyisolated partitions 204-208. The civil flight management systemcomponent 210 and the tactical flight management system component 214can each be software components that can run within partitions 204 and208, respectively. The flight management system dual core manager 212can be a software product executing on a processor within partition 206.

The flight management system dual core manager 212 can receive data fromthe civil flight management system component 210 and/or the tacticalflight management system component 214 and transmit the appropriatecorresponding data to avionics system 216, based on the content of thedata received and the flight management system component from which thedata originated, as shown in FIGS. 4, 5, 6, 7, 8, 9, and 10.

The flight management system dual core manager 212 can receive data fromthe avionics system 216 and transmit the appropriate corresponding datato the civil flight management system component 210 and/or the tacticalflight management system component 214, based on the content of the datareceived and the destination flight management system component, asshown in FIGS. 4, 5, 6, 7, 8, 9, and 10.

It will be appreciated that the flight management system dual coremanager 212 can be run within any partition of the dual core flightmanagement system 202 or in its own manager partition 206 as shown.

Additionally, it will be appreciated that, as shown in FIG. 3, thesystem 202 can also include a plurality of flight management systemcomponents that can each run within one of a plurality of partitions,and each of the plurality of flight management system components cantransmit data to and/or receive data from the flight management systemdual core manager 212.

The civil flight management system component 210 can include a softwareproduct, such as the Thales FMS 220 software product, certified to meetcivilian aviation requirements, such as CNS/ATM and DO-178B. Thetactical flight management system component 214 can include a softwareproduct certified to meet military aviation and/or tactical requirementsthat can be separate from those requirements imposed upon civilianaviation products. The temporal and spatial isolation of the flightmanagement system components in system 200 can enable the updating ofone flight management system component software product without the needto fully recertify and/or fully test the remaining flight managementsystem component(s).

It will be appreciated that the dual core flight management system 202,including the flight management system dual core manager 212, the civilflight management system component 210, and the tactical flightmanagement system component 214, can be executed on the same ordifferent computers. When run on the same computer, a single boardcomputer can run a partitioned real-time operating system such asLynxOS-178 RTOS to create the temporally and spatially isolatedpartitions (204-208) of the dual core flight management system 202.

FIG. 3 is a block diagram of an exemplary embodiment of a multi coreflight management system. System 300 can include a multi core vehiclemanagement system 304 that can include a plurality of vehicle managementsystem components, vehicle management system component₁ 308 and vehiclemanagement system component_(N) 310. The multi core vehicle managementsystem 304 can transmit data to and/or receive data from a vehiclesystem, or vehicle subsystem, 306.

In operation, the multi core flight management system 304 can transmitdata to and/or receive data from the vehicle system 306 according to theprocesses shown in FIGS. 12, 13, 14, 15, 16, 17, 18, and 19. The multicore flight management system 304 can provide an interface for theplurality of vehicle management system components, vehicle managementsystem component₁ 308 through vehicle management system component_(N)310, to communicate with the vehicle system 306 as shown in FIGS. 2 and6. The multi core flight management system 304 can be a software and/orhardware wrapper for the plurality of vehicle management systemcomponents, vehicle management system component₁ 308 through vehiclemanagement system component_(N) 310, and can provide one vehiclemanagement system interface through which the plurality of vehiclemanagement system components, vehicle management system component₁ 308through vehicle management system component_(N) 310, can communicatewith the vehicle system 306 as shown in FIGS. 2, 4, 5, 6, 7, 8, 9, and10. The multi core flight management system 304 can also provide asingle interface through which the vehicle system 306 can communicatewith the plurality of vehicle management system components, vehiclemanagement system component₁ 308 through vehicle management systemcomponent_(N) 310, as shown in FIGS. 2, 4, 5, 6, 7, 8, 9, and 10.

FIG. 4 is a block diagram of an exemplary embodiment of a flightmanagement system dual core manager. The system 400 can include a dualcore flight management system 402 that can include a civil flightmanagement system component (or civil core flight management programcomponent) 404, a tactical flight management system component (ortactical core flight management program component) 406, and a flightmanagement system dual core manager 408. The dual core flight managementsystem 402 can transmit data to and/or receive data from an avionicssubsystem (or avionics systems) 410. The avionics systems 410 caninclude a second and/or redundant flight management system 412, a datatransfer system 414, a multi-function display (MFD) and multipurposecontrol display unit (MDCU) 416, a civil datalink and surveillancesystem 418, a navigational sensors 420, and an automatic flight controlsystem (AFCS) 422.

In operation, the dual core flight management system 402 can transmitdata to and/or receive data from the avionics systems 410. Data can betransmitted by the avionics systems 410 and received by the dual coreflight management system 402 at the flight management system dual coremanager 408.

The dual core flight management system 402 can be a computer system thatcan be partitioned into temporally and spatially isolated partitions, inwhich the civil flight management system component 404, the tacticalflight management system component 406, and the flight management systemdual core manager 408 can each run in a separate partition as shown inFIG. 2.

It will be appreciated that the avionics systems 410 may be attached tothe dual core flight management system 402 using any connection type nowknown or later developed. Additionally, it will be appreciated that theavionics system can include any avionics hardware and softwareinterfaces now known or later developed.

FIG. 5 is a block diagram of an exemplary embodiment of a flightmanagement system dual core manager. The system 500 can include a dualcore flight management system 502 that can include a civil flightmanagement system component (or civil core flight management programcomponent) 504, a tactical flight management system component (ortactical core flight management program component) 506, and a flightmanagement system dual core manager 508. The dual core flight managementsystem 502 can transmit data to and/or receive data from an avionicssubsystem (or avionics systems) 510. The avionics systems 510 caninclude a second and/or redundant flight management system 512, a datatransfer system 514, a multi-function display and multipurpose controldisplay unit 516, a civil datalink and surveillance system 518, anavigational sensors 520, and an automatic flight control system 522.

The civil flight management system component 504 can include a flightplanning module 524, a navigation module 526, a guidance module 528, anda trajectory/prediction module 530.

The civil flight planning module 524 can provide civil flight planmanagement, path definition, and/or a navigation database. Civil flightplan management can include the creation, modification, and/or selectionof primary and secondary flight plans. Path definition can includeproviding sequences of waypoints, airways, flight levels, departureprocedures, and/or arrival procedures to fly from the origin to thedestination, and/or alternates. Providing a navigation database caninclude: managing the creation, designation, and/or storage orwaypoints; providing a Jeppesen database and a user defined database;and/or providing appropriate NAVAIDs such as enroute, terminal, and/orapproach procedures.

The civil navigation module 526 can provide navigation sensormanagement, localization, and/or a best computed position. Navigationsensor management can include controlling navigation sensors duringcivilian flight legs. Localization can be based on the availablenavigation sources.

The civil guidance module 528 can provide lateral navigation, verticalnavigation, and speed control. Lateral navigation can be computed withrespect to great circle paths defined by the flight plan, and/or withrespect to transitional paths between the great circle paths, and/orwith respect to preset headings or courses. Vertical navigation can becomputed with respect to altitudes assigned to waypoints, and/or topaths defined by stored or computed profiles. Speed control along thedesired path can be provided during one or more phases of flight.

The civil trajectory prediction module 530 can provide trajectoryprediction and performance calculations. Trajectory prediction caninclude distance, time, speed, altitude, and/or gross weight at one ormore future waypoints in the flight plan. Trajectory prediction can alsoinclude computing waypoints such as top-of-climb and/or top-of-descent.Providing performance calculations can include optimizing the verticaland/or speed profiles to minimize the cost of the flight and/or to meetsome other criterion, subject to a variety of constraints.

The tactical flight management system component 506 can include a flightplanning module 540, a navigation module 542, a guidance module 544, anda trajectory/prediction module 546.

The tactical flight planning module 540 can provide tactical flight planmanagement, tactical path definition, and/or a navigational database.Tactical flight plan management can include creation, modification,and/or selection of tactical flight plan and/or tactical waypoints.Tactical path definition can include holding patterns, search and/orrescue patterns, air refueling planning, air drop planning, formationflight, and/or lateral offset. Providing a navigation database caninclude managing the creation, designation, and/or storage of tacticalwaypoints. The navigation database can include a Digital AeronauticalFlight Information File (DAFIF) database and/or a user defined database.Additionally, the navigation database can provide appropriatenavigational aids including but not limited to enroute, terminal, and/orapproach procedures.

The tactical navigation module 542 can provide navigation sensormanagement, tactical navigation, and/or a best computed position. Thenavigation sensor management can include control of navigation sensorsduring tactical flight legs and/or auto tuning.

The tactical guidance module 544 can provide lateral guidance and/orvertical guidance. Lateral guidance can include beacon following,Personnel Locating Service (PLS), terrain following, terrain avoidance,and/or hover mode. Vertical guidance can include radar altitude select,low level navigation, auto re-route, air drop guidance, and/or airrefueling guidance.

The tactical trajectory prediction module 546 can provide Computed AirRelease Point/High Altitude Release Point (CARP/HARP) calculations, Timeof Arrival Control (TOAC), fuel estimate calculations, and/or tacticalperformance.

The flight management system dual core manager 508 can include anintegrity and data management module 532, a controls and display (C&D)module 534, a communication, navigation, and surveillance (CNS) manager536, and an aircraft (A/C) systems manager 538.

In operation, the dual core flight management system 502 can transmitdata to and/or receive data from the avionics systems 510. Data can betransmitted by the avionics systems 510 to the the dual core flightmanagement system 502 where it is received by the flight managementsystem dual core manager 508 and then transmitted, in a modified form ifappropriate, to one or more of the flight management system components(504, 506). A data message can also be transmitted by one or more of theflight management system components (504, 506) and received by theflight management system dual core manager 508, and the flightmanagement system dual core manager 508 can transmit the data message,in a modified form if appropriate, to the avionics systems 510.

The dual core flight management system 502 can be a computer system thatcan be partitioned into temporally and spatially isolated partitions, inwhich the civil flight management system component 504, the tacticalflight management system component 506, and the flight management systemdual core manager 508 can each run in a temporally and spatiallyisolated partition as shown in FIG. 2.

FIG. 6 is a block diagram of an exemplary embodiment of a dual coreflight management system including a flight management system dual coremanager. The system 600 can include a dual core flight management system602 that can include a civil flight management system component (orcivil core flight management program component) 604, a tactical flightmanagement system component (or tactical core flight management programcomponent) 606, and a flight management system dual core manager 608.The dual core flight management system 602 can transmit data to and/orreceive data from an avionics subsystem (or avionics systems) 610. Theavionics systems 610 can include a second and/or redundant flightmanagement system 612, a data transfer system 614, a multi-functiondisplay and multipurpose control display unit 616, a civil datalink andsurveillance system 618, a navigational sensors 620, and an automaticflight control system 622.

The civil flight management system component 604 can include a flightplanning module 624, a navigation module 626, a guidance module 628, anda trajectory and/or prediction module 630 corresponding to modules524-530 described above and shown in FIG. 5. Similarly, the tacticalflight management system component 606 can include a flight planningmodule 640, a navigation module 642, a guidance module 644, and atrajectory prediction module 646 corresponding to modules 540-546described above and shown in FIG. 5.

The flight management system dual core manager 608 can include anintegrity and data management manager 632, a controls and display (C&D)manager 634, a communication, navigation, and surveillance (CNS) manager636, and an aircraft (A/C) systems manager 638. The flight managementsystem dual core manager 608 can also include a system manager 652, acivil flight management system component manager 650, a tactical flightmanagement system component manager 654, and a platform interfacemanager 656.

In operation, the dual core flight management system 602 can transmitdata to and/or receive data from the avionics systems 610. Data receivedby the dual core flight management system 602 from the avionics systems610 can be received by the platform interface manager 656. The flightmanagement system dual core manager 608 can apply any appropriatetransformations to the data before the data and/or transformed data istransmitted to the appropriate flight system management component, asshown in FIGS. 12, 13, and 14.

Data transmitted by the civil flight management system component 604 canbe received by the civil flight management system component manager 650and can be transmitted the avionics systems 610 via the platforminterface manager 656. The flight management system dual core manager608 can apply any appropriate transformations to the data before thedata and/or transformed data is transmitted to the avionics systems 610via the platform interface manager 656, as shown in FIGS. 12, 13, and14.

Data transmitted by the tactical flight management system component 606can be received by the tactical flight management system componentmanager 654 and can be transmitted the avionics systems 610 via theplatform interface manager 656. The flight management system dual coremanager 608 can apply any appropriate transformations to the data beforethe data and/or transformed data is transmitted to avionics systems 610via the platform interface manager 656, as shown in FIGS. 12, 13, and14.

The dual core flight management system 602 can be a computer system thatcan be partitioned into temporally and spatially isolated partitions, inwhich the civil flight management system component 604, the tacticalflight management system component 606, and the flight management systemdual core manager 608 can each run in a temporally and spatiallyisolated partition as shown in FIG. 2 and described above.

FIG. 7 is a block diagram showing an exemplary embodiment of a flightmanagement system dual core manager A/C (Aircraft) systems manager.System 700 can include a flight management system dual core manager 704that includes an aircraft systems manager 710. The flight managementsystem dual core manager 704 can receive data from and transmit data toa civil flight management system component 702 and a tactical flightmanagement system component 706. The flight management system dual coremanager 704 can also receive data from and transmit data to an avionicssystem 708.

In operation, the aircraft systems manager 710 can provide pathdeviation control and/or performance data management. The aircraftsystems manager 710 can receive aircraft status data transmitted by theavionics system 708 and transmit aircraft status data to the civilflight management system component 702 and the tactical flightmanagement system component 706.

The aircraft systems manager 710 can receive trajectory prediction data,aircraft sensor control data, and/or time and/or fuel estimate datatransmitted by the civil flight management system component 702 and thetactical flight management system component 706. The aircraft systemsmanager 710 can transmit path deviation error data and/or aircraftsensor control data to the avionics system 708.

FIG. 8 is a block diagram showing an exemplary embodiment of a flightmanagement system dual core manager integrity and data manager. System800 can include a flight management system dual core manager 804 thatincludes flight management system integrity and data manager 810. Theflight management system dual core manager 804 can receive data from andtransmit data to a civil flight management system component 802 and atactical flight management system component 806. The flight managementsystem dual core manager 804 can also receive data from and transmitdata to an avionics system 808.

In operation, the flight management system integrity and data manager810 can provide flight plan management, navigation database management,flight management system X-Talk management, and/or flight managementsystem health/status management. The flight management system integrityand data manager 810 can receive navigation database data, navaids,and/or flight management system X-Talk data from and transmit datarequests, flight management system health/status data, and/or flightmanagement system X-Talk data to the avionics system 808.

The flight management system integrity and data manager 810 can transmitcivil versus tactical control data, primary flight plan data, secondaryflight plan data, flight management system mode data, Jeppesen databasedata, user database data, navaids data, and/or flight management systemhealth/status data that can be received by the civil flight managementsystem component 802. The civil flight management system component 802can transmit civil flight plan data, path definition data, and/or civilflight management system health/status data that can be received by theflight management system integrity and data manager 810.

The flight management system integrity and data manager 810 can transmitcivil versus tactical control data, primary flight plan data, secondaryflight plan data, flight management system mode data, DigitalAeronautical Flight Information File (DAFIF) database data, userdatabase data, navaids data, and/or flight management systemhealth/status data that can be received by the civil flight managementsystem component 802. The tactical flight management system component806 can transmit tactical flight plan data, path definition data, and/ortactical flight management system health/status data that can bereceived by the flight management system integrity and data manager 810.

FIG. 9 is a block diagram showing an exemplary embodiment of a flightmanagement system dual core manager Communication, Navigation,Surveillance (CNS) manager. System 900 can include a flight managementsystem dual core manager 904 that includes a Communication, Navigation,Surveillance (CNS) manager 910. The flight management system dual coremanager 904 can receive data from and transmit data to a civil flightmanagement system component 902 and a tactical flight management systemcomponent 906. The flight management system dual core manager 904 canalso receive data from and transmit data to an avionics system 908.

In operation, the Communication, Navigation, Surveillance (CNS) manager910 can provide civilian datalink management, tactical datalinkmanagement, communications equipment management, air-traffic control,navigation sensor management, and/or surveillance device management.

The Communication, Navigation, Surveillance (CNS) manager 910 cantransmit navigation sensor control data, Airline Operational Control/AirTraffic Control (AOC/ATC) data, Identification Friend Foe (IFF) data,Mode-S data, and/or communication radio control data that can bereceived by the avionics system 908. The avionics system 908 cantransmit navigation sensor data, Automatic DependentSurveillance-Broadcast (ADS-B) data, Communications Management Unit(CMU) data, AOC/ATC data, tactical datalink data, Identification FriendFoe data, Mode-S data, and/or CNS device status data that can bereceived by the Communication, Navigation, Surveillance (CNS) manager910.

The Communication, Navigation, Surveillance (CNS) manager 910 cantransmit navigation sensor data, ADS-B data, and/or CMU data that can bereceived by the civil flight management system component 902. The civilflight management system component 902 can transmit navigation sensorcontrol data, Required Navigation Performance (RNP) data, LateralNavigation (LNAV) data, Vertical Navigation (VNAV) data, IdentificationFriend Foe (IFF) data, Mode-S data, and/or ADS-B data that can bereceived by the Communication, Navigation, Surveillance (CNS) manager910.

The Communication, Navigation, Surveillance (CNS) manager 910 cantransmit navigation sensor data and/or tactical datalink data that canbe received by the tactical flight management system component 906. Thetactical flight management system component 906 can transmit navigationsensor control that can be received by the Communication, Navigation,Surveillance (CNS) manager 910.

FIG. 10 is a block diagram showing an exemplary embodiment of a flightmanagement system dual core manager Controls and Display (C&D) manager.System 1000 can include a flight management system dual core manager1004 that includes a controls and display (C&D) manager 1010. The flightmanagement system dual core manager 1004 can receive data from andtransmit data to a civil flight management system component 1002 and atactical flight management system component 1006. The flight managementsystem dual core manager 1004 can also receive data from and transmitdata to an avionics system 1008.

In operation, the controls and display (C&D) manager 1010 provides acommon on screen interface (OSI). The controls and display (C&D) manager1010 can transmit CAW data, common display data, and/or user responsedata that can be received by the avionics system 1008. The avionicssystem 1008 can transmit user inputs, user requests, and/or useroverrides that can be received by the controls and display (C&D) manager1010.

The civil flight management system component 1002 can transmit CAW dataand/or display data that can be received by the controls and display(C&D) manager 1010. The controls and display (C&D) manager 1010 cantransmit user inputs, user requests, and/or user overrides that can bereceived by the civil flight management system component 1002.

The tactical flight management system component 1006 can transmit CAWdata and/or display data that can be received by the controls anddisplay (C&D) manager 1010. The controls and display (C&D) manager 1010can transmit user inputs, user requests, and/or user overrides that canbe received by the tactical flight management system component 1006.

FIG. 11 is a block diagram of an exemplary embodiment of a multi corevehicle management system. System 1100 can include a computer 1102 thatcan include a processor 1104 and a memory 1106. The computer 1102 cantransmit data to and/or receive data from a vehicle system, or vehiclesubsystem, 1108.

In operation, the processor 1104 will execute instructions stored on thememory 1106 that cause the computer 1102 to transmit data to and/orreceive data from the vehicle system 1108 according to the processesshown in FIG. 12 through 19.

It will be appreciated that the vehicle system 1108 may be attached tothe system using any connection type now known or later developed.

The system 1100 can be a dual core flight management system as shown inFIGS. 2 and 6 and described above. The computer 1102 can be partitioned,as shown in FIG. 2, so that the civil flight management system component210 and the tactical flight management system component 214 can be runin separate partitions and thereby can be temporally isolated on theprocessor 1104 and spatially isolated on the memory 1106.

It will be appreciated that the computer 1102 can have more than oneprocessor.

FIG. 12 is a flowchart showing an exemplary method for transmitting databetween a dual core flight management system and an avionics system1200. Processing begins at 1202 and continues to 1204.

At 1204, a data message having a destination component is received. Thedata message can be received by the platform interface manager 656, asshown in FIG. 6. The destination component can be the avionics subsystem610, an avionics subsystem component (612-622), and/or a flightmanagement system component (604, 606). For example, the platforminterface manager 656 can receive a data message originating from thecivil flight management system component 604 or the tactical flightmanagement system component 606 with a destination component set to theavionics subsystem 610. Processing continues to 1206.

At 1206, the data message is sanitized based on the sender of the datamessage and the destination component. Sanitizing the data message canbe performed according to the processes shown in FIGS. 13 and 14. Forexample, sanitizing can include reducing the precision of geographiclocation data and/or the redaction of classified data, as describedbelow and shown in FIG. 13. Processing continues to 1208.

At 1208, the sanitized data message is transmitted to the destinationcomponent. Processing continues to 1210, where processing ends.

It will be appreciated that operations 1204-1208 may be repeated inwhole or in part (an example of which is indicated by line 1212) toreceive a response data message from the destination component, sanitizethe response data message, and transmit the sanitized response datamessage to the sender of the original data message.

It will also be appreciated that operations 1204-1208 may be repeated inwhole or in part (an example of which is indicated by line 1212) tomaintain current (regularly or continuously updated) data transmissions.

FIG. 13 is a flowchart showing an exemplary method for sanitizing flightmanagement data 1300. Processing begins at 1302 and continues to 1304.

At 1304, a data message having a destination component is received. Thedata message can be received by the platform interface manager 656, asshown in FIG. 6. The destination component can be the avionics subsystem610, an avionics subsystem component (612-622), and/or a flightmanagement system component (604, 606). For example, the platforminterface manager 656 can receive a data message originating from thecivil flight management system component 604 or the tactical flightmanagement system component 606 with a destination component set to theavionics subsystem 610. Processing continues to 1306.

At 1306, the precision of geographic location data (GPS data) containedwithin the data message is reduced to an unclassified resolution. Forexample, a data message having a destination component set to the civilflight management system component 604 can have sensitive and/orclassified GPS data converted to a precision that is appropriate fortransmission to an unclassified and/or civil flight management systemcomponent. In another example, a data message having a destinationcomponent set to an unclassified avionics system component can havesensitive and/or classified GPS data converted to a precision that isappropriate for transmission to an unclassified avionics systemcomponent. Processing continues to 1308.

At 1308, any remaining classified data contained within the data messageis redacted. Redacting can include zeroing out, truncating, populatingthe classified areas of the data with random data, or any other methodto remove the classified data from the data message. Processingcontinues to 1310.

At 1310, the data message is transmitted to the destination component.Processing continues to 1312, where processing ends.

It will also be appreciated that operations 1304-1308 may be repeated inwhole or in part (an example of which is indicated by line 1312) tomaintain current (regularly or continuously updated) data transmissions.

FIG. 14 is a flowchart showing an exemplary method for transmitting databetween a multi core vehicle management system and a vehicle system1400. Processing begins at 1402 and continues to 1404.

At 1404, a data message is received. The data message can be received bythe platform interface manager 656, as shown in FIG. 6. The data messagecan have a destination component indicating the component to which thedata message is to be transmitted. The destination component can be partof the data message, determined by the content of the data message,determined by the method, service, or communication channel throughwhich the data message was received, and/or determined by any othermeans associating the data message with one or more destinationcomponents. The destination component can be a vehicle subsystem 306and/or a vehicle subsystem component (e.g., 612-622), or one of aplurality of flight management system components (308, 310), as shown inFIG. 3. For example, the platform interface manager 656 can receive adata message originating from one of the vehicle management systemcomponents (308, 310) with a corresponding destination component beingthe vehicle subsystem 306. Processing continues to 1406.

At 1406, a determination is made based on the classification leveland/or type of the destination component. If the destination componentis unclassified or civil, then processing can continue to 1408,otherwise processing can continue to 1410. For example, the destinationcomponent may be an unclassified transponder or an unclassified vehiclemanagement system component, e.g. a civil flight management systemcomponent.

At 1408, the data message is sanitized and/or countermeasures areapplied. Sanitizing and/or applying countermeasures to the data messagecan be performed according to the processes shown in FIGS. 13, 14, 15,16, 17, and 18. Processing continues to 1410.

At 1410, the sanitized and/or filtered data message is transmitted tothe destination component. Processing continues to 1412, whereprocessing ends.

It will be appreciated that operations 1404-1410 may be repeated inwhole or in part (an example of which is indicated by line 1414) tomaintain current (regularly or continuously updated) data transmissions.

FIG. 15 is a flowchart showing an exemplary method for performingcountermeasure transmission of decoy vehicle data 1500. Processingbegins at 1502 and continues to 1504.

At 1504, a data message is received. The data message can be received bythe platform interface manager 656, as shown in FIG. 6. The data messagecan have a destination component indicating the component to which thedata message is to be transmitted. The destination component can be partof the data message, determined by the content of the data message,determined by the method, service, or communication channel throughwhich the data message was received, and/or determined by any othermeans associating the data message with one or more destinationcomponents. For example, the platform interface manager 656 can receivea data message originating from the civil flight management systemcomponent 604 with a destination component set to a civil transponder inthe avionics subsystem 610. For example, the platform interface manager656 can receive a data message originating from the tactical flightmanagement system component 604 with a destination component set to anunclassified transponder in the avionics subsystem 610. Processingcontinues to 1506.

At 1506, portions of the data message that contain geographic positiondata are replaced with decoy geographic position data. For example, datamessages created by the civil flight management system component cancontain the aircraft's past and/or current and/or planned futuregeographic location, such as GPS coordinates, and this geographiclocation data can be replaced with decoy geographic location data sothat the aircraft's true past and/or current and/or planned futuregeographic location is not transmitted via the civil transponder. Forexample, data messages created by the tactical flight management systemcomponent can contain the aircraft's past and/or current and/or plannedfuture geographic location, such as GPS data, and this geographiclocation data can be replaced with decoy geographic location data sothat the aircraft's true past and/or current and/or planned futuregeographic location is not transmitted via an unclassified transponder.Processing continues to 1508.

At 1508, the data message containing the decoy vehicle identifier datais transmitted. For example, the data message can be transmitted via acivil transponder and/or an unclassified transponder. Processingcontinues to 1510, where processing ends.

It will be appreciated that operations 1504-1508 may be repeated inwhole or in part (an example of which is indicated by line 1512) tomaintain current (regularly or continuously updated) decoy datatransmissions.

FIG. 16 is a flowchart showing an exemplary method for performingcountermeasure transmission of decoy vehicle data 1600. Processingbegins at 1602 and continues to 1604.

At 1604, a data message is received. The data message can be received bythe platform interface manager 656, as shown in FIG. 6. The data messagecan have a destination component indicating the component to which thedata message is to be transmitted. The destination component can be partof the data message, determined by the content of the data message,determined by the method, service, or communication channel throughwhich the data message was received, and/or determined by any othermeans associating the data message with one or more destinationcomponents. For example, the platform interface manager 656 can receivea data message originating from the civil flight management systemcomponent 604 with a destination component set to a civil transponder inthe avionics subsystem 610. For example, the platform interface manager656 can receive a data message originating from the tactical flightmanagement system component 604 with a destination component set to anunclassified transponder in the avionics subsystem 610. Processingcontinues to 1606.

At 1606, portions of the data message that contain a vehicle identifierare replaced with a decoy vehicle identifier. For example, an aircraftidentifier, N12345, can be included within data messages created by thecivil flight management system component and the aircraft identifier canbe replaced with a decoy identifier so that the true identifier is nottransmitted via the civil transponder. Processing continues to 1608.

At 1608, the data message containing the decoy vehicle identifier datais transmitted. For example, the data message can be transmitted via acivil transponder and/or an unclassified transponder. Processingcontinues to 1610, where processing ends.

It will be appreciated that operations 1604-1608 may be repeated inwhole or in part (an example of which is indicated by line 1612) tomaintain current (regularly or continuously updated) data transmissions.

FIG. 17 is a flowchart showing an exemplary method for performingcountermeasure transmission of decoy vehicle data 1700. Processingbegins at 1702 and continues to 1704.

At 1704, a data message is received. The data message can be received bythe platform interface manager 656, as shown in FIG. 6. The data messagecan have a destination component indicating the component to which thedata message is to be transmitted. The destination component can be partof the data message, determined by the content of the data message,determined by the method, service, or communication channel throughwhich the data message was received, and/or determined by any othermeans associating the data message with one or more destinationcomponents. For example, the platform interface manager 656 can receivea data message originating from the civil flight management systemcomponent 604 with a destination component set to a civil transponder inthe avionics subsystem 610. For example, the platform interface manager656 can receive a data message originating from the tactical flightmanagement system component 604 with a destination component set to anunclassified transponder in the avionics subsystem 610. Processingcontinues to 1706.

At 1706, portions of the data message that contain a vehicle type arereplaced with a decoy vehicle type. For example, an aircraft type, suchas F16, can be included within data messages created by the civil flightmanagement system component and the aircraft type can be replaced with adecoy identifier, such as A30B, so that the true type is not transmittedvia the civil transponder. Processing continues to 1608.

At 1708, the data message containing the decoy vehicle type data istransmitted. For example, the data message can be transmitted via acivil transponder and/or an unclassified transponder. Processingcontinues to 1710, where processing ends.

It will be appreciated that operations 1704-1708 may be repeated inwhole or in part (an example of which is indicated by line 1712) tomaintain current (regularly or continuously updated) data transmissions.

FIG. 18 is a flowchart showing an exemplary method for interceptingcivil flight management data and transforming the data to include decoyidentification data prior to transmission via a civil transponder 1800.Processing begins at 1802 and continues to 1804.

At 1804, a data message is received. The data message can be a flightmanagement data message that can be transmitted by the civil flightmanagement system component 604 and received by the platform interfacemanager 656, as shown in FIG. 6. The data message can have a destinationcomponent indicating the component to which the data message is to betransmitted. The destination component can be part of the data message,determined by the content of the data message, determined by the method,service, or communication channel through which the data message wasreceived, and/or determined by any other means associating the datamessage with one or more destination components. The destinationcomponent can be an avionics subsystem 610 and/or a civil transponder,as shown in FIG. 6. For example, the platform interface manager 656 canreceive a data message originating from the civil flight managementsystem component 604 with a destination component set to a civiltransponder in the avionics subsystem 610. For example, the platforminterface manager 656 can receive a data message originating from thetactical flight management system component 604 with a destinationcomponent set to an unclassified transponder in the avionics subsystem610. Processing continues to 1806.

At 1806, geographic position data, such as GPS data, contained withinthe data message is replaced with decoy geographic position data asdescribed at 1506. Processing continues to 1808.

At 1808, any vehicle identifiers contained within the data message arereplaced with decoy vehicle identifiers as described at 1606. Processingcontinues to 1810.

At 1810, any vehicle type designator contained within the data massageis replaced with a decoy vehicle type designator as described at 1706.Processing continues to 1812.

At 1812, the data message containing the decoy data is transmitted. Forexample, the data message can be transmitted via a civil transponderand/or an unclassified transponder. Processing continues to 1814, whereprocessing ends.

It will be appreciated that operations 1804-1812 may be repeated inwhole or in part (an example of which is indicated by line 1816) tomaintain current (regularly or continuously updated) data transmissions.

It will be appreciated that the modules, processes, systems, andsections described above can be implemented in hardware, hardwareprogrammed by software, software instructions stored on a nontransitorycomputer readable medium or a combination of the above. A dual coreflight management system, for example, can include using a processorconfigured to execute a sequence of programmed instructions stored on anontransitory computer readable medium. For example, the processor caninclude, but not be limited to, a personal computer or workstation orother such computing system that includes a processor, microprocessor,microcontroller device, or is comprised of control logic includingintegrated circuits such as, for example, an Application SpecificIntegrated Circuit (ASIC). The instructions can be compiled from sourcecode instructions provided in accordance with a programming languagesuch as Java, C++, C#.net or the like. The instructions can alsocomprise code and data objects provided in accordance with, for example,the Visual Basic™ language, or another structured or object-orientedprogramming language. The sequence of programmed instructions and dataassociated therewith can be stored in a nontransitory computer-readablemedium such as a computer memory or transponder device which may be anysuitable memory apparatus, such as, but not limited to ROM, PROM,EEPROM, RAM, flash memory, disk drive and the like.

Furthermore, the modules, processes systems, and sections can beimplemented as a single processor or as a distributed processor.Further, it should be appreciated that the steps mentioned above may beperformed on a single or distributed processor (single and/ormulti-core, or cloud computing system). Also, the processes, systemcomponents, modules, and sub-modules described in the various figures ofand for embodiments above may be distributed across multiple computersor systems or may be co-located in a single processor or system.Exemplary structural embodiment alternatives suitable for implementingthe modules, sections, systems, means, or processes described herein areprovided below.

The modules, processors or systems described above can be implemented asa programmed general purpose computer, an electronic device programmedwith microcode, a hard-wired analog logic circuit, software stored on acomputer-readable medium or signal, an optical computing device, anetworked system of electronic and/or optical devices, a special purposecomputing device, an integrated circuit device, a semiconductor chip,and a software module or object stored on a computer-readable medium orsignal, for example.

Embodiments of the method and system (or their sub-components ormodules), may be implemented on a general-purpose computer, aspecial-purpose computer, a programmed microprocessor or microcontrollerand peripheral integrated circuit element, an ASIC or other integratedcircuit, a digital signal processor, a hardwired electronic or logiccircuit such as a discrete element circuit, a programmed logic circuitsuch as a PLD, PLA, FPGA, PAL, or the like. In general, any processorcapable of implementing the functions or steps described herein can beused to implement embodiments of the method, system, or a computerprogram product (software program stored on a nontransitory computerreadable medium).

Furthermore, embodiments of the disclosed method, system, and computerprogram product may be readily implemented, fully or partially, insoftware using, for example, object or object-oriented softwaredevelopment environments that provide portable source code that can beused on a variety of computer platforms. Alternatively, embodiments ofthe disclosed method, system, and computer program product can beimplemented partially or fully in hardware using, for example, standardlogic circuits or a VLSI design. Other hardware or software can be usedto implement embodiments depending on the speed and/or efficiencyrequirements of the systems, the particular function, and/or particularsoftware or hardware system, microprocessor, or microcomputer beingutilized. Embodiments of the method, system, and computer programproduct can be implemented in hardware and/or software using any knownor later developed systems or structures, devices and/or software bythose of ordinary skill in the applicable art from the functiondescription provided herein and with a general basic knowledge of thecomputer programming and network security arts.

Moreover, embodiments of the disclosed method, system, and computerprogram product can be implemented in software executed on a programmedgeneral purpose computer, a special purpose computer, a microprocessor,or the like.

It is, therefore, apparent that there is provided, in accordance withthe various embodiments disclosed herein, computer systems, methods andsoftware for dual core flight management systems.

While the invention has been described in conjunction with a number ofembodiments, it is evident that many alternatives, modifications andvariations would be or are apparent to those of ordinary skill in theapplicable arts. Accordingly, Applicants intend to embrace all suchalternatives, modifications, equivalents and variations that are withinthe spirit and scope of the invention.

What is claimed is:
 1. A computer system having a civil flightmanagement system and a tactical flight management system within adual-core flight management system, said computer system comprising: acivil flight management system component running a civilian flightmanagement software product; a tactical flight management systemcomponent running a tactical flight management software product; and adual core flight management system manager coupled to both the civilflight management system component and the tactical flight managementsystem component, said dual-core flight management system managercomprising: a civil flight management system manager coupled to saidcivil flight management system; a tactical flight management systemmanager coupled to said tactical flight management system; and aplatform interface manager coupled to an avionics system, said civilflight management system manager adapted to transmit civil flightmanagement data to, and receive civil flight management data from, saidcivil flight management system component, said tactical flightmanagement system manager adapted to transmit tactical flight managementdata to, and receive tactical flight management data from, said tacticalflight management system component, and said platform interface manageradapted to provide said civil flight management system component andsaid tactical flight management system component with access to theavionics system, wherein said civil flight management system component,said tactical flight management system component and said dual-coreflight management system manager run on one single board computer, andsaid civil flight management system component is temporally andspatially isolated from said tactical flight management systemcomponent.
 2. The system of claim 1, wherein said civil flightmanagement system component and said tactical flight management systemcomponent are independently updateable.
 3. The system of claim 1,wherein the civil flight management system component is unclassified andthe tactical flight management component is classified.
 4. The system ofclaim 1, wherein said avionics system includes an unclassifiedtransponder.
 5. A flight management system comprising: a plurality offlight management system components, including a civil flight managementsystem component and a tactical flight management system component, eachhaving a processor programmed to execute a flight management softwareproduct; and a multi core flight management system manager configured tocontrol a plurality of flight management systems and being coupled tothe plurality of flight management system components, the multi coreflight management system manager comprising: a plurality of flightmanagement system managers, each coupled to one of the plurality offlight management system components; and a platform interface managercoupled to an avionics system, each flight management system manageradapted to transmit flight management data to, and to receive flightmanagement data from, the flight management system component to whichthe flight management system manager is coupled, the platform interfacemanager adapted to provide each flight management system componentaccess to the avionics system, such that an aircraft operator cancontrol each flight management system component via the flightmanagement system.
 6. The flight management system of claim 5, whereinthe plurality of flight management system components and the multi coreflight management system manager execute on a same computer.
 7. Theflight management system of claim 5, wherein the computer is a singleboard computer.
 8. The flight management system of claim 5, wherein theplurality of flight management system components are temporally andspatially isolated from each other.
 9. The flight management system ofclaim 5, wherein said plurality of vehicle management system componentsare each independently updateable.
 10. A computerized method forcontrolling a plurality of flight management systems encapsulated withina multi core flight management system, the method comprising: providinga plurality of flight management system components, each running aflight management software product, and each being encapsulated within amulti core flight management system adapted to manage an aircraft, saidmulti core flight management system including a multi core flightmanagement system manager; receiving, at said flight management platforminterface, a flight management system data message and transmitting saidflight management system data message to one of the flight managementsystem components indicated by said flight management system datamessage; and receiving, at said multi core flight management systemmanager, a flight management system data message from one of saidplurality of flight management system components and transmitting saidflight system data message to a corresponding avionics system component,wherein said plurality of flight management system components and saidmulti core flight management system manager run on a single computer,and said plurality of flight management system components are temporallyand spatially isolated from each other.
 11. The method of claim 10,wherein the computer is a single board computer.
 12. The method of claim10, wherein the plurality of vehicle management system componentscomprises: a civil vehicle management system component; and a tacticalvehicle management system component.
 13. The method of claim 10, whereinsaid plurality of vehicle management system components are eachindependently updateable.
 14. The method of claim 12, wherein the civilflight management system component is unclassified and the tacticalflight management component is classified.
 15. The method of claim 10,wherein said avionics system includes an unclassified transponder.
 16. Acomputerized method for encapsulating a plurality of flight managementsystems within a multi core flight management system, the methodcomprising: partitioning a computer system into a plurality oftemporally and spatially isolated partitions; running each of aplurality of flight management system component software products in adifferent one of the plurality of temporally and spatially isolatedpartitions, said plurality of flight management system componentsoftware products comprising a civil flight management system componentand a tactical flight management system component; running a multi coreflight management system manager software component in one of theplurality of temporally and spatially isolated partitions; receiving, atsaid multi core flight management system manager software component, oneor more data messages from an avionics system component and transmittingsaid one or more data messages to one or more of the plurality of flightmanagement system component software products; and receiving, at saidmulti core flight management system manager software component, one ormore data messages from one of the plurality of flight management systemcomponent software products and transmitting said one or more datamessages to one or more corresponding avionics system components. 17.The method of claim 16, wherein said plurality of vehicle managementsystem component software products are each independently updateable.18. The method of claim 16, wherein said civil flight management systemcomponent is unclassified and said tactical flight management componentis classified.
 19. The method of claim 16, wherein said avionics systemincludes an unclassified transponder.
 20. The method of claim 16,wherein said computer system is a single board computer.